]> git.saurik.com Git - apple/security.git/blob - Keychain Circle Notification/NSString+compactDescription.m
Security-55471.14.18.tar.gz
[apple/security.git] / Keychain Circle Notification / NSString+compactDescription.m
1 //
2 // NSString+compactDescription.m
3 // KeychainMigrator
4 //
5 // Created by J Osborne on 2/19/13.
6 //
7 //
8
9 #import "NSString+compactDescription.h"
10
11 @implementation NSString (compactDescription)
12
13 -(NSString*)compactDescription
14 {
15 static NSCharacterSet *forceQuotes = nil;
16 static dispatch_once_t setup;
17 dispatch_once(&setup, ^{
18 forceQuotes = [NSCharacterSet characterSetWithCharactersInString:@"\"' \t\n\r="];
19 });
20
21 if ([self rangeOfCharacterFromSet:forceQuotes].location != NSNotFound) {
22 NSString *escaped = [self stringByReplacingOccurrencesOfString:@"\\" withString:@"\\\\"];
23 escaped = [escaped stringByReplacingOccurrencesOfString:@"\"" withString:@"\\\""];
24 return [NSString stringWithFormat:@"\"%@\"", escaped];
25 } else {
26 return self;
27 }
28 }
29
30 @end